The goal of increasing the degree to which a network is managed automatically is not new. Autonomic networks have been a subject of research over the last 15 years, and technologies for achieving network automation are evolving. Recently there have been advances in a few specific technologies that increase both the urgency to increase automation as well as the possibilities of doing so. For example, Network Function Virtualization (NFV) provides flexibility in how network functionality is deployed and where it is deployed, which is enabled by the increasing maturity of cloud execution environments to support large number of diverse workloads in either a centralized or distributed manner. Additionally, Software Defined Networking (SDN) enables networking flexibility and the means to provide connectivity (networking) to the deployed virtual or physical network functions. This is often referred to as programmable networking. Furthermore, analytics technologies have evolved to the state where they can provide advanced insights into the state of the network.